Proper operation of a telecommunication network requires time and/or frequency synchronization between various entities therein. Synchronization can be achieved, for example, by exchange timing information (time-transfer) across the network. One of the protocols for exchanging timing information over a packet data network is the IEEE 1588 Precision Time Protocol (PTP) usable for frequency and phase synchronization. Another example of timing protocol is Network Time Protocol (NTP). Both protocols are in-band protocols encapsulating time stamps into data packets. While in the NTP case the network nodes receive synchronization data in a pull mode (from a server or from several peer nodes), in the PTP cases, slave clock nodes (referred to hereinafter also as slave nodes), receive synchronization data from a master clock node (referred to hereinafter also as master node) in a push mode.
For purpose of illustration only and unless specifically stated otherwise, the following description is provided for PTP-based synchronization. Those skilled in the art will readily appreciate that the teachings of the presently disclosed subject matter are, likewise, applicable to other time-transfer protocols and/or procedures that are usable for the exchange of time-related information in a packet data network.
Through exchange of PTP packets, which include timestamps carried inside, PTP enables synchronization between a master clock node, which has access to an accurate time source (e.g. Global Positioning System) and slave clock nodes having less accurate clocks. Timestamps are usable for frequency and phase recovery between the clocks. For example, the phase recovery at the slave clock node is based on measurement of the round trip delay to the master node, such measurement based on the time stamps. In a case of symmetric delay, the one way delay can be estimated as half of the round trip. However, real PDNs are not symmetric and in order to estimate the precise time using the roundtrip delay, it is necessary to compensate asymmetry (if any) between such delays in forward and backward directions.
General Description
Problems of compensation of asymmetric delays when exchanging timing information between master and slave clocks have been recognized in the conventional art. A static asymmetry between transmission (MS) and receiving (SM) directions in a communication path between a master clock node and a slave clock node can be compensated by using measured or estimated correction parameters, and/or such may be duly calibrated beforehand.
In accordance with certain aspects of the presently disclosed subject matter, there is provided a method of clock management in a PDN with dynamic asymmetry caused by queue-induced delays on communication paths. The method comprises: obtaining, by the clock controller, topology data informative of a master clock node and a slave clock node constituting end points of a PTP path in the PDN and further informative of at least part of transit nodes of said PTP path; periodically obtaining by the clock controller data informative of queue size and link rate characterizing, during a collection period, the at least part of transit nodes in master-slave (MS) and slave-master (SM) directions, thereby giving rise to queue-related data; for each collection period, using the obtained queue-related data to estimate, by the clock controller, queue-induced delay asymmetry of the PTP path; and sending by the clock controller the estimated value of queue-induced delay asymmetry to the slave node, the estimated value to be used by a clock residing on the slave node as a delay asymmetry correction parameter.
In accordance with further aspects, estimating queue-induced delay asymmetry for a collection period can comprise: for each node of the at least part of transit nodes, processing a plurality of samples informative of queue size and link rate at MS and/or SM directions and received during the collection period, thereby calculating a corresponding plurality of sample delays in MS and/or SM directions; for each node of the at least part of transit nodes, selecting, among the plurality of sample delays calculated for a given direction, minimal sample delay values; summarizing the minimal sample delay values over all nodes, of the at least part of transit nodes, located on the PTP path in MS direction and summarizing the minimal sample delay values over all nodes, of the at least part of transit nodes, located on the PTP path in the SM direction; and estimating queue-induced delay asymmetry of the PTP path as a half of the difference between the summaries of minimal sample delay values obtained in MS and SM directions.
For transit nodes located on the PTP path in a given direction, a sampled delay can be calculated as a ratio between respectively sampled queue size and link rate in the given direction.
In accordance with further aspects, the clock controller can send to the slave node the values of queue-induced delay asymmetry estimated in each of the collection periods. Alternatively, the clock controller can send to the slave node only estimated values of queue-induced delay asymmetry which exceed a predefined threshold.
In accordance with further aspects, the clock controller can obtain topology data and/or queue-related data from a network management system or SDN (Software Defined Network) controller operatively connected to the nodes and to the clock controller.
In accordance with further aspects, the clock controller can calculate a variation of values of queue-induced delay asymmetry estimated during a predefined number of consecutive collection periods, and can change the duration of collection if the variation does not fit a predefined criterion.
In accordance with other aspects of the presently disclosed subject matter, there is provided a clock controller configured to operate in a packet data network (PDN) comprising a plurality of nodes and implementing a time-transfer protocol, the clock controller operatively connected to at least part of the of the nodes of the plurality of nodes, wherein the clock controller is further configured to operate as detailed above.
In accordance with other aspects of the presently disclosed subject matter, there is provided a program product implemented on a non-transitory computer usable medium and comprising computer readable program code for performing the method as detailed above.
Among advantages of certain embodiments of presently disclosed subject matter is improving the slave clock accuracy by compensating queue-induced delay asymmetry. Among further advantages of certain embodiments of the presently disclosed subject matter is enabling improved slave clock accuracy with no need in using “lucky” packets which may be unavailable when network nodes are heavily loaded. Among yet further advantages of certain embodiments of the presently disclosed subject matter is capability to improve slave clock accuracy even for end-to-end secured communication paths between the master and slave clocks.